package com.briup.oagg.facade.service.dateset;

import com.briup.oagg.facade.web.vm.page.Page;
import com.briup.oagg.facade.web.vm.dataset.DatasetAddVM;
import com.briup.oagg.facade.web.vm.dataset.DatasetUpdateVM;
import com.briup.oagg.facade.web.vm.dataset.DatasetListVM;
import com.briup.oagg.facade.web.vm.dataset.DatasetVM;

import java.util.List;

/**
 * 数据集业务逻辑接口
 *
 * @author briup
 */
public interface IDatasetService {
    /**
     * 新增数据集
     * @param datasetVM
     */
    void addDataset(DatasetAddVM datasetVM);

    /**
     * 修改数据集
     * @param datasetVM
     */
    void updateDataset(DatasetUpdateVM datasetVM);

    /**
     * 删除数据集
     * @param datasetId
     */
    void deleteById(String datasetId);

    /**
     * 查询数据集总数
     * @return
     */
    Integer count();

    /**
     * 分页多条件查询数据集列表信息
     * @param pageNum 当前页码
     * @param pageSize 每页大小
     * @param search 数据集名称，支持模糊查询
     * @return
     */
    Page<DatasetListVM> findByPage(Integer pageNum, Integer pageSize, String search);

    /**
     * 根据地质单元查询数据集信息
     * @param basinId       盆地编号
     * @param reservoirsId  油气藏编号
     * @param trapId        圈闭编号
     * @param zoneId        区带编号
     * @return
     */
    List<DatasetVM> findByCondition(String basinId, String zoneId, String trapId, String reservoirsId);
}
